package com.qf.dao;

import com.qf.pojo.Admin;
import com.qf.pojo.User;

import java.sql.SQLException;
import java.util.List;

/**
 * @author Kuke
 * @date 2023/4/15 15:10
 * 管理员数据访问接口
 */
public interface AdminDao {
    /**
     * 通过管理员名查询指定管理员
     * @param username 管理员名称
     * @return 返回管理员实体
     */
    Admin selectAdmin(String username) throws SQLException;

    /**
     * 管理员数据访问接口查询所有前台用户
     * @return 返回用户列表
     */
    //List<User> selectAllUsers() throws SQLException;

    /**
     * 数据访问接口分页查询用户数据
     * @param currentPage 当前页码
     * @param pageSize    每页显示的条数
     * @return  返回用户列表
     */
    List<User> selectUserByPage(int currentPage,int pageSize) throws SQLException;

    /**
     * 获取用户的总记录数
     * @return 返回总条数
     */
    int getTotalCount() throws SQLException;



    /**
     * 管理员数据访问接口添加用户
     * @param user 用户实体
     */
    void insertUser(User user) throws SQLException;

    /**
     * 管理员数据访问接口通过用户id查询用户
     * @param uid 用户id
     * @return 返回用户实体
     */
    User selectUserByUid(String uid) throws SQLException;

    /**
     * 更新用户
     * @param user 用户实体
     */
    void updateUser(User user) throws SQLException;

    /**
     * 管理员数据访问接口,根据用户uid删除用户
     * @param uid 用户编号
     */
    void deleteUserByUid(String uid) throws SQLException;
}
